/*
 * ShapePropertyEditor.java
 *
 * Created on August 23, 2006, 10:17 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package org.jdesktop.beans.editors;

import java.awt.Component;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
import java.beans.PropertyEditorSupport;

/**
 *
 * @author joshy
 */
public class ShapePropertyEditor extends PropertyEditorSupport {
	ShapeChooser chooser;

	/** Creates a new instance of ShapePropertyEditor */
	public ShapePropertyEditor() {
		chooser = new ShapeChooser();
		chooser.shapeCombo.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent actionEvent) {
				if (chooser.shapeCombo.getSelectedItem().equals("Square")) {
					setValue(new Rectangle(0, 0, 100, 100));
				} else {
					setValue(new Ellipse2D.Double(0, 0, 100, 100));
				}
			}
		});
	}

	@Override
	public Shape getValue() {
		return (Shape) super.getValue();
	}

	@Override
	public void setValue(Object value) {
		super.setValue(value);
	}

	@Override
	public boolean isPaintable() {
		return true;
	}

	@Override
	public boolean supportsCustomEditor() {
		return true;
	}

	@Override
	public Component getCustomEditor() {
		return chooser;
	}
}
